home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / DDJMAG / DDJ9203.ZIP / OOPASM.ZIP / SCREEN.ASM < prev    next >
Assembly Source File  |  1990-07-13  |  3KB  |  122 lines

  1.     .MODEL    SMALL
  2.  
  3.     INCLUDE    equates.inc
  4.     INCLUDE    instance.inc
  5.     INCLUDE    messages.inc
  6.     INCLUDE    objects.inc
  7.  
  8. IF1
  9.     INCLUDE    macros.mac
  10.     INCLUDE    objects.mac
  11.     INCLUDE    video.mac
  12. ENDIF
  13.  
  14.     EXTRN    Clock:WORD
  15.     EXTRN    DlgMenu:WORD
  16.     EXTRN    Dir:WORD
  17.     EXTRN    DosError:WORD
  18.     EXTRN    FileDlg:WORD
  19.     EXTRN    FileInfo:WORD
  20.     EXTRN    Help:WORD
  21.     EXTRN    MenuBar:WORD
  22.     EXTRN    Keyboard:WORD
  23.     EXTRN    Self:WORD
  24.     EXTRN    SBorder:WORD
  25.     EXTRN    System:WORD
  26.     EXTRN    VertMenu0:WORD
  27.     EXTRN    VertMenu1:WORD
  28.     EXTRN    VertMenu2:WORD
  29.     EXTRN    VertMenu3:WORD
  30.     EXTRN    Window:WORD
  31.  
  32.     .CODE
  33.  
  34. COMMENT    %
  35. ==============================================================================
  36. Changes color objects color to monochrome values.
  37.  
  38. =============================================================================%
  39. ?ChangeColor    PROC    NEAR
  40.     mov        ax,es            ;Get video mem addr
  41.     eq        ax,ColorAddr,?cc1    ;Exit if color
  42.     call        resetColor        ;Else - Reset color values
  43. ?cc1:    ret
  44. ?ChangeColor    ENDP
  45.  
  46.  
  47.  
  48.  
  49. COMMENT    %
  50. ==============================================================================
  51. Sets the Color instance var to monochrome value for objects with color.
  52.  
  53. =============================================================================%
  54. resetColor    PROC    NEAR
  55.     setInst        Color,70h,Clock,1
  56.     setInst        Color,70h,FileDlg,1
  57.     setInst        Color,70h,FileInfo,1
  58.     setInst        Color,70h,System,1
  59.     setInst        Color,70h,DlgMenu,1
  60.     setInst        Color,70h,Dir,1
  61.     setInst        Color,70h,DosError,1
  62.     setInst        Color,70h,Keyboard,1
  63.     setInst        Color,70h,MenuBar,1
  64.     setInst        Color,70h,Help,1
  65.     setInst        Color,70h,VertMenu0,1
  66.     setInst        Color,70h,VertMenu1,1
  67.     setInst        Color,70h,VertMenu2,1
  68.     setInst        Color,70h,VertMenu3,1
  69.     setInst        Color,70h,Screen,1
  70.     ret
  71. resetColor    ENDP
  72.  
  73.  
  74.  
  75. COMMENT    %
  76. ==============================================================================
  77. Sets the video mode.
  78.  
  79. =============================================================================%
  80. setVideoState    PROC    NEAR
  81.     setVideoMode    0,3            ;Display page 0, Mode 3
  82.     ret
  83. setVideoState    ENDP
  84.  
  85.  
  86.  
  87. IF Dbug
  88.     PUBLIC    colorBorder
  89. ENDIF
  90. COMMENT    %
  91. ==============================================================================
  92. Changes the border color.
  93.  
  94. =============================================================================%
  95. colorBorder    PROC    NEAR
  96.     getInst        bl,Color,Screen        ;Get screen color
  97.     setBorderColor    bl
  98.     ret
  99. colorBorder    ENDP
  100.  
  101.  
  102.  
  103.     .DATA
  104.  
  105. defMsg    Screen,\
  106.     Init,\
  107.     <?ChangeColor,setVideoState,colorBorder>
  108.  
  109. defObj    Screen,\
  110.     <Window,SBorder>,\
  111.     <Row1,1,1,\
  112.     Col1,1,0,\
  113.     Row2,1,24d,\
  114.     Col2,1,69d,\
  115.     Color,1,34h>,\
  116.     <Refresh,Init>
  117.  
  118.  
  119.  
  120.     END
  121. 
  122.